「codeforces - 1394C」Boboniu and String
全部标签CodeForce用法说明–龙之介一,搜索题目假设我们需要搜索600E这题,只需强行改网址https://codeforces.com/problemset/problem/600/E二,如何按照标签找题三.题目排序按照通过人数按照难度四,如何看题解?五,题目在哪?比赛在哪?六,如何写代码七,提交代码八,如何看样例?在题目界面点击进行案例查看然后点击Click(小tips:建议少看,多锻炼自己的分析题目能力,做到完美。因为你只是会觉得模糊一个大概随便改一下,可能就ac了,然后试一下真的ac了,然后就跑路了,有些地方你可能都没考虑清楚你就ac了,没有实际去证明这个算法的正确性,这是非常不好的习惯
A-SashaandArrayColoring(CF1843A)题目大意给定一个数组,给每个元素涂色。求最大的代价。代价为每个颜色的代价和。每个颜色的代价为涂了该颜色的元素的极差。解题思路因为是极差,每个元素要么对答案有正的贡献,要么有负的贡献,要么无贡献。且正负贡献的个数要相同。因为要最大值,自然就是想有正贡献的是最大的那些数,负贡献的是最小的那些数。因此答案就是最大的那一半的和\(-\)最小的那一半的和。奇数的话中间多出来的一个无贡献。神奇的代码#includeusingnamespacestd;usingLL=longlong;intmain(void){ios::sync_with_s
目录A.Garland(签到)题面翻译思路:代码B.PointsonPlane(数学)题面翻译思路:代码C.SumonSubarray(构造)题面翻译:思路:代码D.BinaryStringSorting题面翻译思路:代码A.Garland(签到)Youhaveagarlandconsistingof 4 coloredlightbulbs,thecolorofthe i-thlightbulbis si.Initially,allthelightbulbsareturnedoff.Yourtaskistoturnallthelightbulbson.Youcanperformthefollo
目录A.Garland(签到)题面翻译思路:代码B.PointsonPlane(数学)题面翻译思路:代码C.SumonSubarray(构造)题面翻译:思路:代码D.BinaryStringSorting题面翻译思路:代码A.Garland(签到)Youhaveagarlandconsistingof 4 coloredlightbulbs,thecolorofthe i-thlightbulbis si.Initially,allthelightbulbsareturnedoff.Yourtaskistoturnallthelightbulbson.Youcanperformthefollo
Problem-E-Codeforces思路:我们把比赛看成K层(0~K-1)的完美 二叉树按照题目的要求,第k层我们需要把(1我们讨论第k层输的队伍的方案数首先,我们需要把那些指定在k层这里哪个位置输的位置处理好,如果有两个队伍输在一个位置,无解。处理完后,那些还没有被特别指定哪个队伍属于这个位置的有cnt个,显然对于这些位置,当前只剩下两个空位(一个给这一层这个位置输的人,一个给这一层赢的人),如果赢的人位置没有指定,显然输的人可以任取这两个位置其中一个,如果指定,只能取剩下的一个所以我们也要处理1~(1所以这一层贡献的方案数就是,A为排列,tmp表示这些cnt位置如果有一个是有两个没有指
地址:codeforce第84轮(div3)A:题目的意思是:给定我们一堆包含两个字符的字符串,字符串a和字符串b只要a的后一个字母和b的前一个字母相等即可链接,现在给出最后链接好的字符串,问我们最少能用多少个形如a和b的字符串可以链接;实际上就是问我们,用多少个包含两个字符的字符串可以构造出答案,可以直接把所有情况写出来,去重即可;这里可以直接用set去重,你也可以用map,反正哈希表基本都可以代码如下:#include#includeusingnamespacestd;seta;intmain(){ intt; cin>>t; while(t--) { a.clear(); intn;
题目给定长为n(n对于每个子数组,其美丽值定义为操作任意次,使得子数组增序的最小秒数每次操作,你可以选择两个下标[l,r],将区间[l,r]排增序,代价是r-l秒求所有子数组的美丽值之和思路来源hxu10代码题解感觉和BZOJ1345序列问题Sequence(思维/单调栈)_Code92007的博客-CSDN博客类似单调栈还是非常巧妙,每次补的时候都有一点惊艳的感觉枚举左端点,单增遍历右端点,单调栈维护最大值,实际是一个递增的栈,元素(mx,cost)表示(当前前缀最大值,当前前缀最大值所在的这段区间排序所需要的代价)每次用当前值a[j]将大于当前值的最大值弹栈,这表明如果a[j]左侧有一个比
A.MusicalPuzzle题意:用最少的长度为2的字符串按一定规则拼出s。规则是:前一个字符串的尾与后一个字符串的首相同。分析:统计s中长度为2的不同字符串数量。代码:#includeusingnamespacestd;typedeflonglongLL;constintN=1e5;intmain(){std::ios::sync_with_stdio(false);cin.tie(0),cout.tie(0); intt; cin>>t; while(t--) { unordered_mapmp; intn; cin>>n; strings; cin>>s; intc
原题地址:CodeforcesRound#834(Div.3)题目:A.Yes-Yes?题意: 给定一个字符串s,看这个字符串s是不是多个Yes组成的字符串ans=“YesYesYesYesYes...”的子串,因为题目所给定的s的长度为50,那么我们定义一个长度为100的“YesYes...”串ans,然后看s是否是ans的子串即可代码: #include#include#include#include#include#include#includetypedeflonglongll;usingnamespacestd;constintN=1e5+10;constintm
CodeforcesRound#791(Div.2)(A-D)A.AvtoBus题意:给你n,问满足4x+6y=n4x+6y=n4x+6y=n的x+yx+yx+y的最小值和最大值是多少?x,yx,yx,y都是非负整数。题解:n如果是奇数,无解。如果是偶数,等式除以2,考虑2x+3y=n2x+3y=n2x+3y=n。要想使得x+yx+yx+y尽可能大,那么x要尽量多,就需要找最小的y满足n−3yn-3yn−3y是偶数,分别讨论摸3的各种情况。反之同理。#includeusingnamespacestd;typedeflonglongll;typedefpairint,int>pii;consti